package no.sachmuld.methodcombination.examples.performance.annotation;

import no.sachmuld.methodcombination.api.MethodCombinationSupport;
import no.sachmuld.methodcombination.api.annotation.MethodCombinationException;
import no.sachmuld.methodcombination.api.annotation.Standard;
import no.sachmuld.methodcombination.api.annotation.UsesMethodCombination;
import no.sachmuld.methodcombination.examples.performance.FooBehaviour;
import no.sachmuld.methodcombination.examples.performance.Step;

import java.util.List;

/**
 *
 */
@UsesMethodCombination(FooBehaviour.class)
public abstract class Foo extends MethodCombinationSupport<FooBehaviour> implements no.sachmuld.methodcombination.examples.performance.Foo {

    protected List<Step> trace;

    public void setTrace(List<Step> trace) {
        this.trace = trace;
    }

    @Standard
    @Override
    final public void bar(int i) {
        throw new MethodCombinationException();
    }

}
